package com.tool.mylibrary.ui.nicedialog;

import android.content.Context;
import android.util.DisplayMetrics;
import android.view.View;

/**
 * Created by Michael on 2018/1/18.
 */
public class DialogUtils {
    public static int dp2px(Context context, float dipValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (dipValue * scale + 0.5f);
    }

    public static int px2dp(Context context, float pxValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (pxValue / scale + 0.5f);
    }

    //获取屏幕宽度   px
    public static int getScreenWidth(Context context) {
        DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
        return displayMetrics.widthPixels;
    }

    //获取屏幕宽度   dp
    public static int getScreenWidthDp(Context context){
        DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
        int screenWidth = px2dp(context,displayMetrics.widthPixels);
        return screenWidth;
    }

    //获取屏幕高度 px
    public static int getScreenHeight(Context context){
        DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
        return displayMetrics.heightPixels;
    }

    //获取屏幕高度dp
    public static int getScreenHeightDp(Context context){
        DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
        int screenHeight = px2dp(context,displayMetrics.heightPixels);
        return screenHeight;
    }

//    public static int  getScreenHeight(Activity activity){
//        WindowManager wm = (WindowManager) activity.getSystemService(Context.WINDOW_SERVICE);
//        DisplayMetrics dm = new DisplayMetrics();
//        wm.getDefaultDisplay().getMetrics(dm);
//        int width = dm.widthPixels;         // 屏幕宽度（像素）
//        int height = dm.heightPixels;       // 屏幕高度（像素）
//        float density = dm.density;         // 屏幕密度（0.75 / 1.0 / 1.5）
//        int densityDpi = dm.densityDpi;     // 屏幕密度dpi（120 / 160 / 240）
//        // 屏幕宽度算法:屏幕宽度（像素）/屏幕密度
//        int screenWidth = (int) (width / density);  // 屏幕宽度(dp)
//        int screenHeight = (int) (height / density);// 屏幕高度(dp)
//        return screenHeight;
//    }

    //获取控件的绝对位置
    public static  int[] getViewLoacation(View view){
        int[] position = new int[2];
        view.getLocationInWindow(position);
        return  position;
    }
}

